April 29, 2020

VSCodeを使ってRustの開発環境を構築する

これまでHello Worldを出すのみだったので、ターミナルでコードを書いてきましたが、
デバッグ、コード補完があると助かるので、Rustの開発環境を整えたいと思います。

環境

  • Mac
  • Rust 1.43.0
  • VSCode 1.43

RustとVSCodeはインストールしている状態からはじめます。

拡張機能のRust(rls)のインストール

VSCodeの拡張機能にあるRust(rls)を検索してインストールします。

rust-vscode-1

この拡張機能を使うと

  • コード補完
  • 定義ジャンプ
  • コードフォーマット

などができるようになります。

詳しくはこちらを参照してください。
https://marketplace.visualstudio.com/items?itemName=rust-lang.rust

Rust(rls)のインストール後、Rustのプロジェクトを開くか新規に作成します。
上記の操作後、Rust Language Serverのインストールの通知が出てきたらインストールします。

rust-vscode-2

インストールがうまくいっていると補完もできるようになっています。

rust-vscode-3

デバッグツールのインストール

VSCodeの拡張機能にある、CodeLLDBを検索してインストールします。

rust-vscode-3

CodeLLDBを動かすにはpythonが必要なので別途インストールが必要になります。

デバッグの設定

  1. Rustのプロジェクトを開く
    ※指定したディレクトリ直下にCargo.tomlが必要
  2. Run > Add Configuration...を選択
  3. LLDBを選択し、Cargo.tomlを検出するのでYesを選択

うまくいけば次のような内容のlaunch.jsonが作成されます。

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug executable '<プロジェクト名>'",
            "cargo": {
                "args": [
                    "build",
                    "--bin=<プロジェクト名>",
                    "--package=<プロジェクト名>"
                ],
                "filter": {
                    "name": "<プロジェクト名>",
                    "kind": "bin"
                }
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug unit tests in executable '<プロジェクト名>'",
            "cargo": {
                "args": [
                    "test",
                    "--no-run",
                    "--bin=<プロジェクト名>",
                    "--package=<プロジェクト名>"
                ],
                "filter": {
                    "name": "<プロジェクト名>",
                    "kind": "bin"
                }
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        }
    ]
}

デバッグ実行

適当な場所にブレイクポイントを設定し、デバッグを実行して止まれば成功です。

rust-vscode-3

© なお 2020

Powered by Hugo & Kiss.